package com.Stream.A01StreamLiu;

import java.util.ArrayList;

public class A01_Demo {
    /*
    * 简化 集合操作
    *
    * 1.先得到stream流
    * 2.利用stream流中的api进行操作
    * 3.使用中间方法进行操作数据
    * 4.利用终结方法进行操作数据
    * */
    public static void main(String[] args) {
        /*
        * 创建集合添加元素，完成以下需求：
        * 1.把所有以张开头的元素存储到新集合中
        * 2.把张开头的长度为3的再存到新集合中
        * 3.遍历打印最终结果
        * */

        ArrayList<String> list1 = new ArrayList<>();
        list1.add("张无忌");
        list1.add("李四");
        list1.add("赵敏");
        list1.add("张强");
        list1.add("张三丰");

       //  stream流写法
        list1.stream().filter(s->s.startsWith("张")).filter(s->s.length() == 3).forEach(s-> System.out.println(s));

       /* // 1.把张开头的存储到集合中
        ArrayList<String> list2 = new ArrayList<>();
        for (String s : list1) {
            if(s.startsWith("张")) list2.add(s);
        }
        System.out.println(list2);

        // 2.把张开头常务为3的存到新集合
        ArrayList<String> list3 = new ArrayList<>();
        for (String s : list2) {
            if(s.length() == 3) list3.add(s);
        }
        System.out.println(list3);*/
    }
}
